<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <title>Debugging Tips</title>
  <link rel="stylesheet" type="text/css" href="mesa.css">
</head>
<body>

<div class="header">
  The Mesa 3D Graphics Library
</div>

<iframe src="contents.html"></iframe>
<div class="content">

<h1>Debugging Tips</h1>

<p>
   Normally Mesa (and OpenGL) records but does not notify the user of
   errors.  It is up to the application to call
   <code>glGetError</code> to check for errors.  Mesa supports an
   environment variable, <code>MESA_DEBUG</code>, to help with debugging.  If
   <code>MESA_DEBUG</code> is defined, a message will be printed to stdout
   whenever an error occurs.
</p>

<p>
   More extensive error checking is done in DEBUG builds
   (<code>--buildtype debug</code> for meson, <code>build=debug</code> for scons).
</p>
<p>
   In your debugger you can set a breakpoint in <code>_mesa_error()</code> to trap
   Mesa errors.
</p>
<p>
   There is a display list printing/debugging facility.  See the end of
   <code>src/dlist.c</code> for details.
</p>

</div>
</body>
</html>
